<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html><meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>exception_type failure() const noexcept - Boost.Outcome documentation</title>
<link rel="stylesheet" href="../../../css/boost.css" type="text/css">
<meta name="generator" content="Hugo 0.52 with Boostdoc theme">
<meta name="viewport" content="width=device-width,initial-scale=1.0"/>

<link rel="icon" href="../../../images/favicon.ico" type="image/ico"/>
<body><div class="spirit-nav">
<a accesskey="p" href="../../../reference/types/basic_outcome/exception_rvalue_const.html"><img src="../../../images/prev.png" alt="Prev"></a>
    <a accesskey="u" href="../../../reference/types/basic_outcome.html"><img src="../../../images/up.png" alt="Up"></a>
    <a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../reference/types/basic_outcome/equality_basic_result.html"><img src="../../../images/next.png" alt="Next"></a></div><div id="content">
  <div class="titlepage"><div><div><h1 style="clear: both"><code>exception_type failure() const noexcept</code></h1></div></div></div>
  <p>Synthesising observer of the stored exception or error. If an exception is available,
returns a copy of that directly. If an error is available, and not an exception, an
ADL discovered free function <a href="../../../reference/functions/policy/basic_outcome_failure_exception_from_error.html" class="api-reference"><code>auto basic_outcome_failure_exception_from_error(const EC &amp;)</code></a>

is invoked. Default overloads for this function are defined in Outcome for 
<a href="https://en.cppreference.com/w/cpp/error/error_code" class="api-reference" target="_blank"><i class="fa fa-book" aria-hidden="true"></i> <code>std::error_code</code></a>

and <code>boost::system::error_code</code>, these return <code>std::make_exception_ptr(std::system_error(ec))</code>
and <code>boost::copy_exception(boost::system::system_error(ec))</code> respectively.</p>

<p><em>Requires</em>: Both the traits <a href="../../../reference/traits/is_error_code_available.html" class="api-reference"><code>is_error_code_available&lt;T&gt;</code></a>
 and
<a href="../../../reference/traits/is_exception_ptr_available.html" class="api-reference"><code>is_exception_ptr_available&lt;T&gt;</code></a>
 are true.</p>

<p><em>Complexity</em>: Depends on <code>basic_outcome_failure_exception_from_error(const EC &amp;)</code>.</p>

<p><em>Guarantees</em>: Never throws. If an exception is thrown during the copy of the exception,
that exception (from <code>std::current_exception()</code>) is returned instead.</p>


        </div><p><small>Last revised: February 05, 2019 at 21:41:47 UTC</small></p>
<hr>
<div class="spirit-nav">
<a accesskey="p" href="../../../reference/types/basic_outcome/exception_rvalue_const.html"><img src="../../../images/prev.png" alt="Prev"></a>
    <a accesskey="u" href="../../../reference/types/basic_outcome.html"><img src="../../../images/up.png" alt="Up"></a>
    <a accesskey="h" href="../../../index.html"><img src="../../../images/home.png" alt="Home"></a><a accesskey="n" href="../../../reference/types/basic_outcome/equality_basic_result.html"><img src="../../../images/next.png" alt="Next"></a></div></body>
</html>
